package com.tongtech.system.domain;

import com.tongtech.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 项目信息表 project
 *
 * @author xingyc
 */
public class Project extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目id */
    private Long projectId;

    /** 项目编号 */
    private String projectNo;

    /** 项目名称 */
    private String name;

    /** 客户id（用户id） */
    private Long customerId;

    /** 客户姓名 */
    private String customerName;

    /** 客户电话 */
    private String customerPhone;

    /** 行业祖级列表 */
    private String industryAncestors;

    /** 销售id（用户id） */
    private Long marketerId;

    /** 销售名称（用户昵称） */
    private String marketerName;

    /** 销售部门 */
    private String marketerDeptName;

    /** 项目描述 */
    private String description;

    /** 项目状态： 0-未签 1-已签 */
    private String projectStatus;

    /** 前端提交的日期范围 */
    private String[] dateRange;

    /** 开始维保日期 */
    private Date startMaintenanceDate;

    /** 结束维保日期 */
    private Date endMaintenanceDate;

    /** 合同现场人天数 */
    private Integer contractDays;

    /** 合同现场剩余人天数 */
    private Integer residueDays;

    /** 项目信息状态:0-正常,1-停用 */
    private String status;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getProjectNo() {
        return projectNo;
    }

    public void setProjectNo(String projectNo) {
        this.projectNo = projectNo;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerPhone() {
        return customerPhone;
    }

    public void setCustomerPhone(String customerPhone) {
        this.customerPhone = customerPhone;
    }

    public String getIndustryAncestors() {
        return industryAncestors;
    }

    public void setIndustryAncestors(String industryAncestors) {
        this.industryAncestors = industryAncestors;
    }

    public Long getMarketerId() {
        return marketerId;
    }

    public void setMarketerId(Long marketerId) {
        this.marketerId = marketerId;
    }

    public String getDescription() {
        return description;
    }

    public String getProjectStatus() {
        return projectStatus;
    }

    public void setProjectStatus(String projectStatus) {
        this.projectStatus = projectStatus;
    }

    public String[] getDateRange() {
        return dateRange;
    }

    public void setDateRange(String[] dateRange) {
        this.dateRange = dateRange;
    }

    public Date getStartMaintenanceDate() {
        return startMaintenanceDate;
    }

    public void setStartMaintenanceDate(Date startMaintenanceDate) {
        this.startMaintenanceDate = startMaintenanceDate;
    }

    public Date getEndMaintenanceDate() {
        return endMaintenanceDate;
    }

    public void setEndMaintenanceDate(Date endMaintenanceDate) {
        this.endMaintenanceDate = endMaintenanceDate;
    }

    public Integer getContractDays() {
        return contractDays;
    }

    public void setContractDays(Integer contractDays) {
        this.contractDays = contractDays;
    }

    public Integer getResidueDays() {
        return residueDays;
    }

    public void setResidueDays(Integer residueDays) {
        this.residueDays = residueDays;
    }

    public String getMarketerName() {
        return marketerName;
    }

    public void setMarketerName(String marketerName) {
        this.marketerName = marketerName;
    }

    public String getMarketerDeptName() {
        return marketerDeptName;
    }

    public void setMarketerDeptName(String marketerDeptName) {
        this.marketerDeptName = marketerDeptName;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getStatus()
    {
        return status;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("projectId", getProjectId())
            .append("projectNo", getProjectNo())
            .append("name", getName())
            .append("customerId", getCustomerId())
            .append("customerName", getCustomerName())
            .append("customerPhone", getCustomerPhone())
            .append("industryAncestors", getIndustryAncestors())
            .append("marketerId", getMarketerId())
            .append("marketerName", getMarketerName())
            .append("desc", getDescription())
            .append("projectStatus", getProjectStatus())
            .append("startMaintenanceDate", getStartMaintenanceDate())
            .append("endMaintenanceDate", getEndMaintenanceDate())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
